// Object.defineProperty()
// 一个方法
// 定义属性的方法
// defineition 定义
// define 定义 学术名词
// Property 属性 学术名词
// 对象 -> 特征 property

// 三个参数 (obj, prop, descriptor)
// 1. 对象
// 2. 属性
// 3. 属性描述符
// 对一个对象的描述
// descript 动词
// descriptor 描述项集合 配置集合

// write 动词 写
// writable 可写
// written 写的过去分词 已写 已写入

// enum 枚举
// able 词根 有能力的

// conf 文件夹
// config 配置文件
// configurable 可配置


function defineProperty() {
    var _obj = {};

    // Object.defineProperty(_obj,'a',{value: 1})

    Object.defineProperties(_obj,{
        a: {
            value: 1,
            writable: true,
            enumerable: true,
            configurable: true,
        },
        b: {
            value: 2
        }
    })

    return _obj
}

var obj = defineProperty();

obj.a = 5;
obj.b = 6;
console.log(obj);

for (let objKey in obj) {
    console.log(objKey + ' : ' + obj[objKey]);
}

delete obj.a;
console.log(obj);
